/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.com.merb.client.ui.menu;

import co.com.merb.shared.i18n.MerbConstants;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.types.SelectionStyle;
import com.smartgwt.client.types.TreeModelType;
import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.tree.Tree;
import com.smartgwt.client.widgets.tree.TreeGrid;
import com.smartgwt.client.widgets.tree.TreeNode;
import com.smartgwt.client.widgets.tree.events.NodeClickEvent;
import com.smartgwt.client.widgets.tree.events.NodeClickHandler;

/**
 *
 * @author ias
 */
public class NavigationTreeGrid extends TreeGrid {

    private final MerbConstants constants;

    public NavigationTreeGrid(final MainArea mainArea) {

        this.constants = GWT.create(MerbConstants.class);

        setShowOpenIcons(false);
        setShowDropIcons(false);
        setShowSelectedStyle(true);
        setShowPartialSelection(true);
        setCascadeSelection(false);
        setCanSort(false);
        setShowConnectors(true);
        setShowHeader(false);
        setLoadDataOnDemand(false);
        setSelectionType(SelectionStyle.SINGLE);


        Tree data = new Tree();
        data.setModelType(TreeModelType.CHILDREN);


        TreeNode cliente = new TreeNode("Cliente");
        cliente.setShowDropIcon(true);

        TreeNode crearCliente = new TreeNode("Administrador", cliente);


        TreeNode root1 = new TreeNode("root", crearCliente);

        data.setRoot(root1);

        data.openAll();

        setData(data);
        addNodeClickHandler(new NodeClickHandler() {
            @Override
            public void onNodeClick(NodeClickEvent event) {
                String name = event.getNode().getName();
//                if (name.equals("Tipo procesos electorales")) {
//                    mainArea.addPanelTipoProcesoElectoral();
//                } else {
//                    if (name.equals("Aspirantes")) {
//                        mainArea.addPanelAspirantesRequisitos();
//                    } else {
//                        if (name.equals("Procesos electorales")) {
//                            mainArea.addPanelProcesoElectoral();
//                        } else {
//                            if (name.equals("Voto")) {
//                                mainArea.addPanelVoto();
//                            } else {
//                                if (name.equals("Informes")) {
//                                    mainArea.addPanelInformes();
//                                } else {
//                                    if (name.equals("Salir")) {
//                                        serviceLogin.logout(new AsyncCallback() {
//                                            @Override
//                                            public void onFailure(Throwable caught) {
//                                                SC.say(constants.MensajeError(), caught.getMessage());
//                                            }
//
//                                            @Override
//                                            public void onSuccess(Object result) {
//                                                com.google.gwt.user.client.Window.open("http://gmail.com", "_self", "");
//                                            }
//                                        });
//                                    }
//                                }
//                            }
//                        }
//                    }
//                }
            }
        });

    }
}